package com.cy.pojo;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;
/**设计菜单pojo对象，基于此对象封装操作菜单信息
 * FAQ?
 * 1.为什么不使用map去存储？
 * 1）可读性比较差
 * 2）值得类型不可控（值的类型为object）
 * 2.为什么实现Serializable？
 * 1）java规范中所有用于存储数据的对象都建议实现此接口
 * 2）此接口的作用就是做标记，只有实现了此接口规范的对象才可以序列化
 * 3）序列化的目的是将对象转换为字节存储到缓存，文件或进行网络传输
 * 3.为什么要添加serialVersionUID呢？
 * 1）为序列化和反序列化实现过程中的一个版本标识。
 * 2）将字节反序列化时，需要和序列化时使用的id进行对比，相同则反序列化。
 * */
@Data
public class SysMenu implements Serializable {
    /**设置里设置好  Alt+Enter添加序列化ID*/
    private static final long serialVersionUID = -5077543306052370762L;
    /**菜单ID 对应数据库表中的物理主键*/
    private Integer id;
    /**菜单名称*/
    private String name;
    /**菜单url 对应要访问的资源*/
    private String url;
    /**菜单类型  菜单 按钮*/
    private Integer type;
    /**菜单序号，有需要可以对菜单进行排序*/
    private Integer sort;
    /**备注*/
    private String remark;
    /**上级菜单的id*/
    private Integer parentId;
    /**上级菜单名称 菜单表中没有此字段 页面需要*/
    private String parentName;
    /**菜单授权标识 访问菜单时需要具备的权限*/
    private String permission;
    /**记录菜单创建时间*/
    private Date createdTime;
    /**记录菜单最后一次修改时间*/
    private Date modifiedTime;
    /**记录创建用户*/
    private String createdUser;
    /**记录修改用户*/
    private String modifiedUser;
}
